De Sutter Et Al . : Whole - Program Optimization of Binary Executables 3
نویسندگان
چکیده
|Compiler optimization research has a long history and very complex algorithms were developed to optimize code. Unfortunately these algorithms, however complex they may be, su er from the modular design of software. Compilers compile and optimize one source code module at a time. While they do so, they have no or few knowledge about the context in which the code will be executed. Even if summary information about all involved source code les is collected or if programs consist of one source code le only (which is not trivial for mixed-language programs) all kinds of code libraries will be linked with the programmer's code to produce the nal executable binary. These libraries are often only available in object code and therefor no candidates for global analyses and optimizations by the compiler. A solution to this problem is to relegate part of the global optimizations to the linker, which has -by its naturea global overview of the application. Unfortunately, the linker does not have access to the wealth of (semantic) information about the program that is available in the compiler. Therefor, a linker has to painstakingly reconstruct part of that information by analyzing object les. Nevertheless, it turns out to be possible to do this in a reasonable time, and to produce speedups of 19% for code that was already highly optimized by the compiler. In the paper, we describe Alto, a link time optimizer for the alpha architecture. We describe Alto's framework, the analyses performed, the advantages and disadvantages of optimizing programs at link time, and an analysis of the speedups attained for the Spec benchmarks. We also describe additional program transformations applied by Squeeze, an Alto-derivative aimed at link-time code compression. Squeeze obtains additional link-time code compression of 23% on already compact compiler generated binaries. Keywords|linker, whole-program optimization, code compression,
منابع مشابه
Steganography for Executables
Steganography embeds a secret message in a seemingly innocuous cover-object. This paper presents a framework for steganography with executables as cover-objects built on top of an existing binary rewriter. Executables differ significantly from previously explored coverobjects, we thus first identify the cover-specific redundancies that can be used to embed a secret message. Techniques are then ...
متن کاملLink-Time Optimization of IA64 Binaries
The features of the IA64 architecture create new opportunities for link-time optimization. At the same time they complicate the design of a link-time optimizer. This paper examines how to exploit some of the opportunities for link-time optimization and how to deal with the complications. The prototype link-time optimizer that implements the discussed techniques is able to reduce the code size o...
متن کاملCovert Communication through Executables
This paper explores the potential of executables for covert communication. Three techniques for the embedding of secret information are presented. Possible attacks on the stealthiness of these techniques are identified and countered. The presented concepts are implemented and evaluated for the IA32 architecture, for which we obtain an encoding rate of 1/27 before countermeasures and 1/89 after ...
متن کاملSifting Out the Mud: a Low-Level Treatment of Reusable Code in C++ Programs
More and more computers are being incorporated in devices where the available amount of memory is limited. This contrasts with the increasing need for additional functionality and the need for rapid application development. While object-oriented programming languages, supporting code reusability by providing mechanisms such as inheritance and templates, allow fast development of complex applica...
متن کاملA compiler level intermediate representation based binary analysis system and its applications
Title of Dissertation: A COMPILER LEVEL INTERMEDIATE REPRESENTATION BASED BINARY ANALYSIS SYSTEM AND ITS APPLICATIONS Kapil Anand, Doctor of Philosophy, 2013 Dissertation directed by: Professor Rajeev Barua Department of Electrical and Computer Engineering Analyzing and optimizing programs from their executables has received a lot of attention recently in the research community. There has been ...
متن کامل